Stored Procedures [dbo].[BAEUpdateOrderInformation]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@totalChargesmoney8
@totalPaymentsmoney8
@balancemoney8
@linetaxablemoney8
@freightmoney8
@handlingmoney8
@taxmoney8
@orderNumint4
SQL Script
create procedure [dbo].[BAEUpdateOrderInformation] @totalCharges money,
     @totalPayments money,
     @balance money,
     @linetaxable money,
     @freight money,
     @handling money,
     @tax money,
     @orderNum int as
Declare @trans AS int;
    Declare @diff AS decimal(18,2);
    Declare @batchNum VARCHAR(16);

    --Get transaction number
    SELECT @trans = TRANS_NUMBER, @batchNum = t.BATCH_NUM FROM Trans t, Orders o
    WHERE t.BT_ID = o.BT_ID AND t.ST_ID = o.BT_ID AND t.INVOICE_REFERENCE_NUM = o.PREPAID_INVOICE_REFERENCE_NUM AND o.ORDER_NUMBER = @orderNum;

    --Get difference
    SELECT @diff = (@totalCharges - AMOUNT) FROM Trans WHERE TRANS_NUMBER = @trans AND TRANSACTION_TYPE = 'PAY';

    UPDATE Orders
    SET
        TOTAL_CHARGES = @totalCharges,
        TOTAL_PAYMENTS = @totalPayments,
        BALANCE = @balance,
        LINE_TAXABLE = @linetaxable,
        FREIGHT_1 = 0.0,
        FREIGHT_2 = @freight,
        HANDLING_1 = 0.0,
        HANDLING_2 = @handling,
        TAX_1 = @tax,
        TAX_2 = 0.0,
        TAX_3 = 0.0
    WHERE ORDER_NUMBER = @orderNum

    --UPDATE PAY line. SET Amount, Invoice_credits = total_charges
    UPDATE Trans SET AMOUNT = @totalCharges, INVOICE_CREDITS = @totalPayments WHERE TRANS_NUMBER = @trans AND TRANSACTION_TYPE = 'PAY';
    
    --UPDATE PP line. SET Amount = -total_charges
    UPDATE Trans SET AMOUNT = (@totalPayments * -1) WHERE TRANS_NUMBER = @trans AND TRANSACTION_TYPE = 'PP';

    --UPDATE batch control. SET Control_Cash = control_cash + difference, trans_cash = trans_cash + difference
    UPDATE  Batch  SET CONTROL_CASH = (CONTROL_CASH + @diff), TRANS_CASH = (TRANS_CASH + @diff) WHERE BATCH_NUM = @batchNum;

GO
Uses